[Apple Watch アプリ開発] #3 日時ラベル
WKInterfaceDate
概要
WKInterfaceDateは、現在の日付や時刻を表示するために利用するカスタムラベルです。 これらの情報はプログラムで制御しなくても自動で更新されます。
特性
日時ラベルは以下の特性を持ちます。
- 日付や時刻、またはその両方を表示する
- 様々なフォーマット、カレンダー、タイムゾーンを使って日時の表示を構成することができる
- プログラムで更新する必要はない
また、Apple は日時ラベルを使用するときは以下のことを推奨しています。
- 現在の日付や日時を表示したいときはdateオブジェクトを使用してください
作ってみる
実行画面
1分後
フォーマット
日付や時刻のフォーマットはカスタマイズすることができます。
また、FormatがStandardの場合は、日付と時刻のフォーマットを5 種類の中から選ぶことができます。
それでは日付と時刻のフォーマットについて全種類の表示を見てみましょう。 ※Noneは非表示なので省略します。
Short
日付
時刻
Medium
日付
時刻
Long
日付
時刻
Full
日付
時刻
Full & Full
ShortとMediumで日付が変わっていませんが、これは日本語環境だとこうなるようです。 英語環境だと以下のように違いがわかります。
英語環境 日付 Short
英語環境 日付 Medium
また、ラベルの行数はデフォルトで1になっているので、複数行に対応させるために Storyboard で Label のLinesを0にしましょう。
WKInterfaceDate の定義
WKInterfaceDate は以下のように定義されています。
@availability(iOS, introduced=8.2) class WKInterfaceDate : WKInterfaceObject { func setTextColor(color: UIColor?) func setTimeZone(timeZone: NSTimeZone?) func setCalendar(calendar: NSCalendar?) }
これまた少ないですね。 設定できる項目はテキストカラー、タイムゾーン、カレンダーの 3 つだけです。 その他の設定は Storyboard から行いましょう。
まとめ
WKInterfaceDate は現在の日付や時刻を表示するために利用します。 自動で日時を更新してくれるため、それらの処理をプログラムで書く必要はありません。
日付のフォーマットはカスタマイズ可能です。 アプリに合ったフォーマットを考えましょう。
プログラムでできることは以下の通りです。
- テキストカラーの設定
- タイムゾーンの設定
- カレンダーの設定